package com.ruoyi.equ.service;

import java.util.List;
import com.ruoyi.equ.domain.EquStockin;
import com.ruoyi.equ.domain.vo.EquStockinVos;
import com.ruoyi.equ.domain.vo.StockinAndAssetVo;

/**
 * 验收入库Service接口
 *
 * @author ruoyi
 * @date 2025-11-05
 */
public interface IEquStockinService
{
    /**
     * 查询验收入库
     *
     * @param stockId 验收入库主键
     * @return 验收入库
     */
    public EquStockin selectEquStockinByStockId(Long stockId);

    /**
     * 查询验收入库列表
     *
     * @param equStockin 验收入库
     * @return 验收入库集合
     */
    public List<EquStockin> selectEquStockinList(EquStockin equStockin);

    /**
     * 新增验收入库
     *
     * @param equStockin 验收入库
     * @return 结果
     */
    public int insertEquStockin(EquStockin equStockin);

    /**
     * 修改验收入库
     *
     * @param equStockin 验收入库
     * @return 结果
     */
    public int updateEquStockin(EquStockin equStockin);

    /**
     * 批量删除验收入库
     *
     * @param stockIds 需要删除的验收入库主键集合
     * @return 结果
     */
    public int deleteEquStockinByStockIds(Long[] stockIds);

    /**
     * 删除验收入库信息
     *
     * @param stockId 验收入库主键
     * @return 结果
     */
    public int deleteEquStockinByStockId(Long stockId);

    /**
     * 入库生成台账记录及新增
     * @param stockinAndAssetVo
     * @return
     */
    Boolean finishStockinAndAsset(StockinAndAssetVo stockinAndAssetVo);
    /**
     * 查询验收入库列表
     */
    List<EquStockinVos> selectEquStockinVoList(EquStockinVos equStockinVos);
    /**
     * 查询验收入库列表
     */
    List<EquStockin> getStockinsByAssetId(Long assetId);
}
